package com.smart.wap.responsive;

import com.smart.manager.product.entities.views.PropsComboView;
import com.smart.manager.product.entities.views.PropsServeView;
import com.smart.manager.work.entities.assembler.WorkOrder;
import com.smart.manager.work.entities.enums.PigOrderStatus;
import com.smart.manager.work.views.BasicStaffView;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;


/**
 * 返回数据
 * @author leo
 * @date 2023/11/01
 */
@Data
@Accessors(chain = true)
public class PigResponsive implements Serializable {

    /**
     * 返回喂食记录
     * @author leo
     * @date 2023/11/01
     */
    @Data
    @Accessors(chain = true)
    public static class Feeding implements Serializable {

        @ApiModelProperty("工单编号")
        private String code;

        @ApiModelProperty("管家信息")
        private BasicStaffView staff;

        @ApiModelProperty("订单状态")
        private PigOrderStatus status;

        @ApiModelProperty("订单内容")
        private WorkOrder.FeedBody content;

        @ApiModelProperty("完成时间")
        private LocalDateTime completeTime;

        @ApiModelProperty("视频地址")
        private String video;

        @ApiModelProperty("创建时间")
        private LocalDateTime createTime;
    }

    /**
     * 治疗返回
     * @author leo
     * @date 2023/11/01
     */
    @Data
    @Accessors(chain = true)
    public static class Treat implements Serializable {

        @ApiModelProperty("工单编号")
        private String code;

        @ApiModelProperty("治疗内容")
        private String content;

        @ApiModelProperty("完成时间")
        private LocalDateTime completeTime;

        @ApiModelProperty("管家信息")
        private BasicStaffView staff;

        @ApiModelProperty("订单状态")
        private PigOrderStatus status;

        @ApiModelProperty("创建时间")
        private LocalDateTime createTime;

    }

    @Data
    @Accessors(chain = true)
    public static class Combo implements Serializable {

        @ApiModelProperty("剩余天数")
        private Integer day;

        @ApiModelProperty("剩余套餐")
        private List<PropsComboView> comboList;

        @ApiModelProperty("剩余套餐数量")
        private Integer comboNumber;

    }

    /**
     * 返回服务
     * @author leo
     * @date 2023/11/04
     */
    @Data
    @Accessors(chain = true)
    public static class Serve implements Serializable {

        @ApiModelProperty("工单编号")
        private String code;

        @ApiModelProperty("管家信息")
        private BasicStaffView staff;

        @ApiModelProperty("订单状态")
        private PigOrderStatus status;

        @ApiModelProperty("事件")
        private PropsServeView combo;

        @ApiModelProperty("完成时间")
        private LocalDateTime completeTime;

        @ApiModelProperty("视频地址")
        private String video;

        @ApiModelProperty("创建时间")
        private LocalDateTime createTime;


    }

    /**
     * 步数和温度
     * @author leo
     * @date 2023/11/01
     */
    @Data
    @Accessors(chain = true)
    public static class StepWarm implements Serializable {

        @ApiModelProperty("日期")
        private LocalDate date;

        @ApiModelProperty("步数")
        private Integer step;

        @ApiModelProperty("温度")
        private String warm;

    }


}
